package com.dtease.agent.biz.ai.service.impl;

import com.dtease.agent.biz.ai.entity.BasLlmConfig;
import com.dtease.agent.biz.ai.mapper.BasLlmConfigMapper;
import com.dtease.agent.biz.ai.service.IBasLlmConfigService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dtease.agent.biz.ai.vo.BasLlmConfigVO;
import com.dtease.agent.biz.ai.wrapper.BasLlmConfigVOWrapper;
import org.springframework.stereotype.Service;

import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

import static com.dtease.agent.core.constants.BizConstants.Numbers.ZERO_NUM;

/**
 * <p>
 * 存储大模型配置信息，记录可用的大模型名称及基础元数据 服务实现类
 * </p>
 *
 * @author chentl
 * @since 2025-05-12
 */
@Service
public class BasLlmConfigServiceImpl extends ServiceImpl<BasLlmConfigMapper, BasLlmConfig> implements IBasLlmConfigService {

    @Override
    public List<BasLlmConfigVO> getValidLlmList() {
        // 查询可用的大模型列表
        List<BasLlmConfigVO> llmList = lambdaQuery()
                .eq(BasLlmConfig::getInvalid, ZERO_NUM)
                .list()
                .stream()
                .map(o-> BasLlmConfigVOWrapper.build().entityVO(new BasLlmConfigVO(o.getId(),o.getName(),o.getCtime(),o.getMtime())))
                .collect(Collectors.toList());

        return llmList;
    }
}
